package com.lxk.cms.domain.vo;

import com.lxk.cms.domain.CmsReply;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 通用评论视图对象 cms_reply
 *
 * @author soda
 * @date 2024-08-06
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = CmsReply.class)
public class CmsReplyVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    private Long id;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    private Long uid;

    /**
     * 评论类型
     */
    @ExcelProperty(value = "评论类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "cms_reply_type")
    private Integer type;

    /**
     * 内容
     */
    @ExcelProperty(value = "内容")
    private String content;

    /**
     * 图片地址
     */
    @ExcelProperty(value = "图片地址")
    private String imageUrl;

    /**
     * 视频地址
     */
    @ExcelProperty(value = "视频地址")
    private String videoUrl;

    /**
     * 一级评论ID
     */
    @ExcelProperty(value = "一级评论ID")
    private Long parentId;

    /**
     * 一级用户ID
     */
    @ExcelProperty(value = "一级用户ID")
    private Long parentUid;

    /**
     * 原评论ID
     */
    @ExcelProperty(value = "原评论ID")
    private Long reviewId;

    /**
     * 原评论用户ID
     */
    @ExcelProperty(value = "原评论用户ID")
    private Long reviewUid;

    /**
     * 点赞数
     */
    @ExcelProperty(value = "点赞数")
    private Long likeCount;

    /**
     * 虚拟点赞数
     */
    @ExcelProperty(value = "虚拟点赞数")
    private Long likeVirtually;

    /**
     * 评论数
     */
    @ExcelProperty(value = "评论数")
    private Long countReply;

    /**
     * 审核状态
     */
    @ExcelProperty(value = "审核状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "common_audit_status")
    private Integer auditStatus;

    /**
     * 拒绝原因
     */
    @ExcelProperty(value = "拒绝原因")
    private String refusal;

    /**
     * 关联ID
     */
    @ExcelProperty(value = "关联ID")
    private Long keyId;

    /**
     * 评论的类型
     */
    @ExcelProperty(value = "评论的类型")
    private String category;

    /**
     * 回复的人
     */
    @ExcelProperty(value = "回复的人")
    private Long toUid;

    /**
     * 评论人的用户名
     */
    private String nickName;

    /**
     * 评论人的头像
     */
    private String avatar;


}
